// 引入qq地图
import qqmap from '../../../utils/qqmap'

Page({
  data: {
    address: '',
    //周边住宅
    points: []
  },
  async onLoad() {
    // 调用小程序的获取地理位置的api
    // const res = await wx.chooseLocation({})
    // console.log(res)

    const { latitude, longitude } = await wx.getLocation({}) // 返回 经纬度
    // console.log(res)
    this.reverseGeocoder(latitude, longitude)
  },
  // 封装地图 逆地址解析功能
  reverseGeocoder(latitude, longitude) {
    // 逆地址解析  传入 经纬度 返回 正常地理位置描述
    qqmap.reverseGeocoder({
      location: {
        latitude,
        longitude,
      },
      success: (geoResult) => {
        console.log('成功')
        console.log(geoResult)
        //使用this
        this.setData({
          address: geoResult.result.address,
        })
        //根据当前地理位置 获取附近的住宅小区
        qqmap.search({
          keyword: '小区',
          location: {
            latitude,
            longitude,
          },
          success: (searchResult) => {
            console.log('成功')
            console.log(searchResult)
            this.setData({
              // 为了性能体验  避免setData数据冗余 简化传递给point的数据
              // https://developers.weixin.qq.com/miniprogram/dev/framework/audits/best-practice.html
              points: searchResult.data.map((v) => ({ id: v.id, title: v.title }))
            })
          },
          fail: (searchErr) => {
            console.log('失败')
            console.log(searchErr)
          },
        })
      },
      fail: (err) => {
        console.log('失败')
        console.log(err)
      },
    })

  },
  // 点击  重新定位
  async onChooseAddress() {
    // 调用小程序的获取地理位置的api
    const { latitude, longitude } = await wx.chooseLocation({})
    this.reverseGeocoder(latitude, longitude)
  },
})